Skip to content

ci probe: tier-2 config-brand in isolation (do not merge)#2908

Closed
ryansolid wants to merge 1 commit into
nextfrom
probe/tier2-config-brand
Closed

ci probe: tier-2 config-brand in isolation (do not merge)#2908
ryansolid wants to merge 1 commit into
nextfrom
probe/tier2-config-brand

Conversation

@ryansolid

Copy link
Copy Markdown
Member

Single-patch attribution probe for #2905's CodSpeed regressions. Zero-diff probe (#2906) came back clean, so the regressions are real; this measures the config-brand consolidation alone. Will close after CodSpeed reports.

🤖 Generated with Claude Code

Attribution probe for the #2905 CodSpeed regressions (update1to1 -6.8%,
merge -6.8%): each tier-2 patch measured alone against next.
@changeset-bot

changeset-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 2f7ffea

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

Copy link
Copy Markdown

size-limit report 📦

Path Size
signals: core floor (createSignal/Memo/Effect/Root/flush) 6.66 KB (-0.3% 🔽)
signals: + createStore 11.27 KB (-0.13% 🔽)
signals: + isPending/latest 8.18 KB (-0.44% 🔽)
app: render + one signal (the simple-app floor) 9.15 KB (-0.48% 🔽)
app: CSR with Show/For/Loading/Errored/lazy 11.19 KB (-0.32% 🔽)

@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 29616815870

Warning

No base build found for commit 66a6c13 on next.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 74.74%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 596
Covered Lines: 477
Line Coverage: 80.03%
Relevant Branches: 461
Covered Branches: 313
Branch Coverage: 67.9%
Branches in Coverage %: Yes
Coverage Strength: 14.28 hits per line

💛 - Coveralls

@codspeed-hq

codspeed-hq Bot commented Jul 17, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 6.9%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 1 regressed benchmark
✅ 120 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
merge 165.2 µs 177.5 µs -6.9%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing probe/tier2-config-brand (2f7ffea) with next (66a6c13)

Open in CodSpeed

ryansolid added a commit that referenced this pull request Jul 17, 2026
CodSpeed attribution (zero-diff control #2906 clean; single-patch probes
#2907/#2908/#2909): the config-brand change alone carries merge -7%
plus sub-threshold -3..4% across update1to1/propagation — it drove both
flagged regressions on this PR. The diff is load-neutral by inspection
and byte-flat in an isolated merge harness; the diffuse cross-bench
pattern indicates shared-process JIT/IC state redistribution from the
hasOverride shape change. Pulled pending a shape-stable redesign
(dedicated boolean in the node literal rather than a _config RMW).

Remaining: pending-container + ambient-txn, both CodSpeed-clean in
isolation. Full 57,073->56,550 min / 21,229->21,050 gz; floor
18,551->18,111 / 7,527->7,376. 1,052 tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ryansolid

Copy link
Copy Markdown
Member Author

Probe served its purpose: guilty — config-brand alone reproduces merge −7% and carries sub-threshold −3..4% on update1to1/propagation (dashboard), making it the driver of both #2905 regressions. The change is load-neutral by inspection and byte-flat in an isolated merge harness; the diffuse cross-bench signature points at shared-process JIT/IC state redistribution from the hasOverride shape change. Pulled from #2905; to be redesigned shape-stably (dedicated boolean in the node creation literal rather than a _config RMW).

@ryansolid ryansolid closed this Jul 17, 2026
@ryansolid
ryansolid deleted the probe/tier2-config-brand branch July 17, 2026 22:31
ryansolid added a commit that referenced this pull request Jul 18, 2026
…audit (#2905)

* refactor(signals): tier-2 state consolidations from the architecture audit

Three behavior-preserving consolidations, each retiring a bug class:

- single pending-source container: the _pendingSource/_pendingSources
  dual representation (singular slot + lazily-promoted Set) collapses to
  one lazily-created Set; the promotion invariant #2893's first bug
  broke no longer exists. -267 min / -110 gz.
- optimistic brand as CONFIG_OPTIMISTIC bit: deletes OVERRIDE_UNDEFINED
  and 19 wrap/unwrap sites; the undefined-as-value / undefined-as-brand
  collision (#2898) is unrepresentable. -123 / -26.
- ambient work is a transaction: the globalQueue's parallel batch fields
  and initTransition's four adoption/aliasing blocks collapse into one
  always-present batch shape; flush fast-path emptiness check preserved.
  -270 / -96.

Combined: full 57,073->56,413 min / 21,229->21,008 gz; floor
18,551->18,013 / 7,527->7,357. 1,052 tests pass on the integrated
branch; each patch was independently verified (byte-exact re-measurement,
suite re-run via poison-probed alias configs, hunk-by-hunk behavior
review) before integration.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* perf(signals): restore write-path load count with a module-local batch mirror

CodSpeed flagged updateSignals:update1to1 at -6.8% on #2905 (reproduced
on rerun): queuePendingNode gained a property hop when the batch fields
moved behind globalQueue._batch, and it runs once per staged write.
A module-local mirror updated at the three _batch assignment sites
restores the pristine load count on the write path and commit loop; the
field stays authoritative for cross-module readers.

The merge bench regression is not yet attributed — this push doubles as
the bisection probe: if it persists, it belongs to the pending-container
or config-brand change, not the batch consolidation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* revert(signals): pull the config-brand consolidation from this PR

CodSpeed attribution (zero-diff control #2906 clean; single-patch probes
#2907/#2908/#2909): the config-brand change alone carries merge -7%
plus sub-threshold -3..4% across update1to1/propagation — it drove both
flagged regressions on this PR. The diff is load-neutral by inspection
and byte-flat in an isolated merge harness; the diffuse cross-bench
pattern indicates shared-process JIT/IC state redistribution from the
hasOverride shape change. Pulled pending a shape-stable redesign
(dedicated boolean in the node literal rather than a _config RMW).

Remaining: pending-container + ambient-txn, both CodSpeed-clean in
isolation. Full 57,073->56,550 min / 21,229->21,050 gz; floor
18,551->18,111 / 7,527->7,376. 1,052 tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants